<?php
defined('SYSPATH') or die('No direct access allowed.');
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
interface Domain_Dao_Interface_Generic{
    /**
     * @param Interger
     */
    public function load($id);

    /**
     * ex:
     * sort: array('parent_id'=>'asc')
     * filter:
     * array('name'=>array('like'=>'System')) // where `name` like '%System%'
     * or array('name'=>'a') // where `name` = 'a'
     * get all data with offset and limit
     * @param <type> $offset
     * @param <type> $limit
     * @return <type>
     */
    public function load_all($is_count = false,$offset=null,$limit=null,$filter = null, $sort = null);

    /**
     * @param Domain_Entities_Entity
     */
    public function insert($o_entity);

    /**
     * @param Domain_Entities_Entity
     */
    public function update($o_entity);

     /**
     * @param Interger
     */
    public function delete($id);
}
?>
